package com.lintf.starter.initializer;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * @author lin tingfeng
 * @ system Mac
 * @ data 2025/6/10 17:12
 * @ package_name com.lintf.starter
 * @ project_name my-diy-project
 * @ desc
 * SpringBootServletInitializer 仅在 WAR 包部署时生效
 * 原因：SpringBootServletInitializer 是用于外部 Servlet 容器（如 Tomcat）部署 WAR 包时触发的初始化逻辑。
 * 结论：如果你是使用可执行 JAR 包启动应用，则 SpringBootServletInitializer 的 configure() 方法 不会被调用。
 */
@Slf4j
public class SystemInitializer extends SpringBootServletInitializer {

    // 这里可以添加一些初始化逻辑，比如加载配置文件、设置默认值等
    // 也可以重写父类的方法来实现自定义的初始化行为

    // 例如，如果需要在应用启动时执行某些操作，可以重写configure方法
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        log.info("SystemInitializer 初始化开始...");
        log.info("SystemInitializer 初始化完成");
        return super.configure(builder);
    }
}
